package exception;

import java.awt.*;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.sql.SQLException;

/**
 * 子类 重写超类含有throws声明异常抛出的方法时对throws的重写规则.
 */
public class ThrowsDemo02 {
    public void dosome()throws IOException,AWTException{ }
}
class SubClass extends ThrowsDemo02{
    /** 常规抛出异常 */
//    public void dosome()throws IOException, AWTException{}
    /** 允许仅抛出超类方法抛出异常的部分异常 */
//    public void dosome()throws IOException{}
    /** 允许不在抛出任何异常 */
//    public void dosome(){}
    /** 允许抛出超类方法抛出异常的子类型异常 */
//    public void dosome()throws FileNotFoundException{}
    /*
       FileNotFoundException extends IOException ---- 继承,
     */
    /** RuntimeException(这个除外) 非检测异常*/
    public void dosome()throws RuntimeException{}
    /** 不允许抛出额外异常(超类方法没有抛出的且没有继承关系的) */
//    public void dosome()throws SQLException{}
    //------------------------------------------没有继承抛出异常的类
    /** 不允许抛出超类方法抛出异常的超类型异常 */
    /*
        IOException extends Exception ----------被继承, 不能比抛出异常的类大.
     */
//    public void dosome()throws Exception{}
}